-
Notifications
You must be signed in to change notification settings - Fork 5
Fix build container on tags #638
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: develop
Are you sure you want to change the base?
Conversation
📝 WalkthroughWalkthroughThe PR adds flexibility to the container build workflow by introducing Changes
Estimated code review effort🎯 2 (Simple) | ⏱️ ~10 minutes Possibly related PRs
Suggested reviewers
Poem
🚥 Pre-merge checks | ✅ 3✅ Passed checks (3 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing touches🧪 Generate unit tests (beta)
📜 Recent review detailsConfiguration used: Organization UI Review profile: CHILL Plan: Pro 📒 Files selected for processing (1)
🧰 Additional context used🧠 Learnings (2)📓 Common learnings📚 Learning: 2026-01-08T01:44:38.651ZApplied to files:
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (2)
🔇 Additional comments (2)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 0
🧹 Nitpick comments (1)
.github/workflows/build.yml (1)
18-53: Missingcustom_taginput inworkflow_call.The
custom_taginput is defined forworkflow_dispatch(lines 50-53) but not forworkflow_call(lines 18-43). This means when this workflow is called by another workflow,inputs.custom_tag(referenced at line 335) will always be empty.For consistency with
ref(which is defined in both triggers), consider addingcustom_tagtoworkflow_call:Suggested fix
workflow_call: inputs: ref: description: 'Git ref to checkout (branch, tag, or SHA)' required: false type: string + custom_tag: + description: 'Custom tag for container image (e.g., v3.0.0)' + required: false + type: string skip_code_scans:
📜 Review details
Configuration used: Organization UI
Review profile: CHILL
Plan: Pro
📒 Files selected for processing (2)
.github/workflows/build.yml.github/workflows/container.yml
🧰 Additional context used
🧠 Learnings (4)
📓 Common learnings
Learnt from: david-waltermire
Repo: metaschema-framework/metaschema-java PR: 623
File: .github/workflows/build.yml:8-14
Timestamp: 2026-01-07T04:40:01.060Z
Learning: In the metaschema-java repository, the build workflow intentionally includes `main` in the `pull_request.branches` trigger even though CONTRIBUTING.md requires PRs to target `develop`. This is a defensive design to provide feedback if someone accidentally targets main, rather than silent failure. The UPLOAD_SCAN_SARIF logic also needs main for security scan results.
📚 Learning: 2025-12-13T21:16:12.281Z
Learnt from: CR
Repo: metaschema-framework/metaschema PR: 0
File: CLAUDE.md:0-0
Timestamp: 2025-12-13T21:16:12.281Z
Learning: Use branch naming: `feature/*` for new features and enhancements, `release/*` (format: `release/MAJOR.MINOR`) for release preparation, `fix/*` for bug fixes
Applied to files:
.github/workflows/build.yml
📚 Learning: 2025-12-13T21:16:12.281Z
Learnt from: CR
Repo: metaschema-framework/metaschema PR: 0
File: CLAUDE.md:0-0
Timestamp: 2025-12-13T21:16:12.281Z
Learning: All PRs must target the `develop` branch, not `main`. The `main` branch receives merges only from `develop` during releases.
Applied to files:
.github/workflows/build.yml
📚 Learning: 2025-12-17T13:27:43.679Z
Learnt from: CR
Repo: metaschema-framework/metaschema-java PR: 0
File: CLAUDE.md:0-0
Timestamp: 2025-12-17T13:27:43.679Z
Learning: All PRs must be created from a personal fork and must target the develop branch (BLOCKING - required by CONTRIBUTING.md)
Applied to files:
.github/workflows/build.yml
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (2)
- GitHub Check: Code
- GitHub Check: Website
🔇 Additional comments (5)
.github/workflows/build.yml (2)
8-9: LGTM on tag trigger addition.The
v*pattern correctly captures semantic versioning tags (e.g.,v1.0.0,v2.3.4-rc1), enabling container builds on release tags as intended.
334-335: Implementation correctly handles empty inputs on tag pushes.On tag pushes,
inputs.refandinputs.custom_tagare empty strings. The container workflow handles this correctly:
- Checkout uses
${{ inputs.ref || github.ref }}(line 37), which treats empty string as falsy and falls back to the tag ref- Docker metadata conditionally adds
custom_tagonly wheninputs.custom_tag != ''(line 71)- The
type=ref,event=tagmetadata rule (line 69) automatically generates tag-based image refsNo changes needed.
.github/workflows/container.yml (3)
10-17: LGTM on new workflow inputs.The
refandcustom_taginputs are well-defined with clear descriptions. Making them optional allows the workflow to function both when called with explicit values and when triggered automatically (falling back to defaults).
35-39: LGTM on checkout ref handling.The
inputs.ref || github.refpattern correctly falls back to the triggering ref when no explicit ref is provided, ensuring the workflow checks out the right commit for both manual and automated triggers.
66-71: LGTM on custom tag metadata.The
type=rawwithenable=${{ inputs.custom_tag != '' }}correctly:
- Adds the custom tag only when explicitly provided
- Coexists with
type=ref,event=tag(line 69) for automatic git tag detectionThis enables both automatic tagging on
v*tag pushes and manual override viaworkflow_dispatch.
Committer Notes
{Please provide a brief description of what this PR accomplishes. Be sure to reference any issues addressed. If the PR is a work-in-progress submitted for early review, please include [WIP] at the beginning of the title or mark the PR as
DRAFT.}All Submissions:
By submitting a pull request, you are agreeing to provide this contribution under the CC0 1.0 Universal public domain dedication.
Changes to Core Features:
Summary by CodeRabbit
✏️ Tip: You can customize this high-level summary in your review settings.